home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wonky Flux Batch 2019 02
/
Wonky_Flux_Batch_2019-02.zip
/
Wonky Flux Batch 2019-02
/
105 - PROSEL - 3.3.5 S2.B.dsk
/
MODIFY.BACKUP.bas
< prev
next >
Wrap
BASIC Source File
|
2019-02-17
|
5KB
|
122 lines
1 REM ProSel Backup/Restore editor
2 REM
3 REM Glen E. Bredon 11/14/87
4 REM
10 PRINT CHR$(4)"PR#3": PRINT CHR$(12)
20 ONERR GOTO 1000
30 PRINT CHR$(4)"BLOAD"F$"RDLINE,TCMD,A$4000": CALL 4 *4096
40 POKE 216,0
50 LOMEM: 6 *4096
60 MO$ = CHR$(27) + CHR$(15):MF$ = CHR$(24) + CHR$(14)
70 FOR I = 1 TO 8:DI$ = DI$ +"/////": NEXT I:DI$ = DI$ +"]"
80 FI = 0: PRINT : HOME : HTAB 30: PRINT "Backup/Restore editor"
90 HTAB 30: PRINT MO$"LLLLLLLLLLLLLLLLLLLLL"MF$
100 PRINT "This program sets modifiable parameters in the ProSel Backup/Restore programs."
110 PRINT : PRINT TAB( 30)"1. Modify BACKUP."
120 PRINT TAB( 30)"2. Modify RESTORE."
130 PRINT TAB( 30)"3. Exit program."
140 PRINT : PRINT TAB( 30)"Select: [";
150 PRINT CHR$(4)"RDLINE #]":A$
160 GET Q$: IF Q$ < > CHR$(13) THEN 180
170 A = VAL(A$): IF A >0 AND A <4 THEN 190
180 PRINT CHR$(8) CHR$(8);: GOTO 150
190 IF A = 3 THEN NEW : END
200 F$ = "BACKUP": IF A = 2 THEN F$ = "RESTORE"
210 ONERR GOTO 1100
220 PRINT CHR$(4)"BLOAD"F$",A$2000,TSYS"
230 POKE 216,0: POKE 222,0: POKE 48655,0
240 AD = 8192:ST = AD +6:NX = AD +72:VL = NX +66:OD = AD +204: IF A = 2 THEN OD = VL
250 BU = OD +1:SL = BU +1
260 T = OD: GOSUB 1300
270 T = BU: GOSUB 1300
280 T = SL: GOSUB 1300
290 POKE ST,0: POKE NX,0:AD = VL: IF A = 1 THEN A$ = "/RAM": GOSUB 3000
300 POKE OD,128: POKE BU,128: POKE SL,6 *16
310 IF A = 2 THEN POKE BU,6 *16: POKE SL,7 *16
320 PRINT : PRINT : PRINT "Do you want to set the STARTUP - this will make "F$" dedicated to"
330 PRINT "use for "F$;: IF A = 1 THEN PRINT " to";: GOTO 350
340 PRINT " from";
350 PRINT " a FILE only. You may prefer to set the STARTUP in the"
360 PRINT "application specification in ProSel instead. [";
370 GOSUB 2000: IF A$ = "N" THEN 430
380 PRINT : PRINT "Give the backup file name: [";
390 PRINT CHR$(4)"RDLINE A^^^^^^^^^^^^^^]":A$
400 GET Q$: IF Q$ = CHR$(27) THEN 80
410 IF LEN(A$) = 16 THEN A$ = LEFT$(A$,15)
420 AD = ST: GOSUB 3000:FI = 1: PRINT
430 PRINT : PRINT "Do you want another program to run automatically after "F$"? [";
440 GOSUB 2000: IF A$ = "N" THEN 490
450 PRINT : PRINT "Pathname of the program to run: [";
460 GOSUB 820
470 IF A$ = "" THEN PRINT : GOTO 490
480 AD = NX: GOSUB 3000: PRINT
490 IF A = 2 THEN 550
500 PRINT : PRINT "Name of RAM volume to backup (if any) [";:RM$ = "/RAM"
510 PRINT CHR$(4)"RDLINE ///////////////]":A$,RM$
520 GET Q$: IF Q$ = CHR$(27) THEN 80
530 IF LEN(A$) = 16 THEN A$ = LEFT$(A$,15)
540 AD = VL: GOSUB 3000: PRINT
550 IF FI THEN 730
560 PRINT : PRINT "Give the 1st slot/drive for the backup disks: [";:S$ = "6/1"
570 GOSUB 4000:S1 = DV:S$ = STR$(S) +"/" + STR$(3 -D)
580 PRINT : PRINT : PRINT "Give the 2nd slot/drive for the backup disks: [";:
590 GOSUB 4000:S2 = DV: IF A = 1 THEN POKE SL,S1
600 IF A = 2 THEN POKE BU,S1
610 EO = 0: FOR BIT = 1 TO 8
620 C1 = S1 -2 * INT(S1/2):C2 = S2 -2 * INT(S2/2)
630 EO = EO/2
640 IF C1 +C2 = 1 THEN EO = EO +128
650 S1 = (S1 -C1)/2:S2 = (S2 -C2)/2: NEXT BIT
660 POKE OD,EO
670 IF A = 2 THEN 710
680 PRINT : PRINT : PRINT "Do you want backup bits cleared? [";
690 GOSUB 2000:B = 128 *(A$ = "N"): POKE BU,B
700 GOTO 730
710 PRINT : PRINT : PRINT "Default slot/drive to be backed up: [";:S$ = "7/1"
720 GOSUB 4000: POKE SL,DV
730 ONERR GOTO 760
740 PRINT CHR$(4)"BSAVE"F$",TSYS,A$2000"
750 GOTO 80
760 POKE 216,0: IF PEEK(222) < >10 THEN 1200
770 PRINT : PRINT : PRINT F$" is locked. Save the revised file anyway? [";
780 GOSUB 2000: PRINT : IF A$ = "N" THEN NEW : END
790 ONERR GOTO 1200
800 PRINT CHR$(4)"UNLOCK"F$
810 GOTO 730
820 PRINT CHR$(4)"RDLINE"DI$:A$
830 GET Q$: IF Q$ = CHR$(27) THEN POP : GOTO 80
840 IF LEN(A$) = 41 THEN A$ = LEFT$(A$,40)
850 RETURN
1000 ONERR GOTO 1020
1010 F$ = "/FLOPPY/COMMANDS/": GOTO 30
1020 ONERR GOTO 1040
1030 F$ = "/PROSEL/COMMANDS/": GOTO 30
1040 POKE 216,0
1050 PRINT : PRINT
1060 PRINT "The RDLINE file cannot be found. You must have the PROSEL installation disk"
1070 PRINT : PRINT "(/FLOPPY/ or /PROSEL/) in a disk drive or the RDLINE file in the prefix"
1080 PRINT : PRINT "directory to run this program."
1090 NEW : END
1100 PRINT : PRINT
1110 PRINT "The "F$" file was not found.";: IF AB THEN 1320
1120 AB = 1: PRINT " What directory is it in?": PRINT : PRINT "[";
1130 GOSUB 820: IF A$ = "" THEN PRINT : GOTO 1320
1140 PRINT CHR$(4)"PREFIX"A$
1150 GOTO 220
1200 PRINT : PRINT : POKE 216,0
1210 POKE 700,173: POKE 701,15: POKE 702,190: POKE 703,76: POKE 704,12: POKE 705,190: CALL 700
1220 NEW : END
1300 T = PEEK(T): IF T = 16 * INT(T/16) THEN RETURN
1310 PRINT : PRINT : PRINT "This version of "F$" is not compatible with this program.";
1320 PRINT " Aborting.": NEW : END
2000 DF$ = "N": PRINT CHR$(4)"RDLINE B]":A$,DF$
2010 GET Q$: IF Q$ < > CHR$(13) THEN 2030
2020 A$ = LEFT$(A$,1): IF A$ = "Y" OR A$ = "N" THEN PRINT : RETURN
2030 PRINT CHR$(8) CHR$(8);: GOTO 2000
3000 POKE AD, LEN(A$): FOR I = 1 TO LEN(A$): POKE AD +I, ASC( MID$ (A$,I,1)): NEXT I: RETURN
4000 PRINT CHR$(4)"RDLINE -~/-]":A$,S$
4010 GET Q$: IF Q$ < > CHR$(13) THEN 4040
4020 S = VAL( LEFT$(A$,1)):D = VAL( MID$ (A$,3,1)): IF S <1 OR S >7 THEN 4040
4030 IF D = 1 OR D = 2 THEN 4050
4040 PRINT CHR$(8) CHR$(8) CHR$(8) CHR$(8);: GOTO 4000
4050 DV = S *16 +128 *(D = 2): RETURN